package com.bentley.kotlindemo.repository

import androidx.paging.Pager
import androidx.paging.PagingConfig
import com.bentley.kotlindemo.net.RetrofitBuilder
import com.bentley.kotlindemo.ui.kits.authorlist_paging.AuthorPagingPostDataSource

/**
 * <pre>
 *  ┌────────────────────────────────────────────
 *  │ @author  Lee  @date 2021/3/24 18:11
 *  ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
 *  │ @desc
 *  └────────────────────────────────────────────
 * </pre>
 */
class AuthorPagingRepository (){
    //这地方可以从本地拿数据，根据需要也可以切换到服务端拿数据
    //或者一半本地一半服务端，总之Dao层单纯的处理本地数据
    //repository层负责具体封装数据，对于Model层隐藏数据细节
    //model层只负责业务，要什么数据，但不需要管数据怎么搞，仓库层来具体造数据
    //加入仓库层的好处就是方便测试，方便业务隔离等等


   suspend fun getArticleData() =
        Pager(PagingConfig(pageSize = 20, prefetchDistance = 3)) { AuthorPagingPostDataSource(RetrofitBuilder.apiService) }.flow
}